#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<string>
using namespace std;
//class Solution {
//public:
//    int firstUniqChar(string s) {
//        size_t sz = s.size();
//        int* arr = new int[sz] {0};
//        string::iterator it1 = s.begin();
//        while (it1 != s.end())
//        {
//            arr[*it1 - 'a']++;
//            it1++;
//        }
//        string::iterator it2 = s.begin();
//        int i = 0;
//        while (it2 != s.end())
//        {
//            if (arr[*it2 - 'a'] == 1)
//            {
//                return i;
//            }
//            it2++;
//            i++;
//        }
//        return -1;
//    }
//};
//
//int main()
//{
//    Solution s1;
//    string s("loveleetcode");
//    s1.firstUniqChar(s);
//}

class Solution {
public:
    int StrToInt(string str) {
        int flag = 1;
        string::iterator it = str.begin();
        int ret = 0;

        while (it != str.end())
        {
            if (*it == '+')
            {
                it++;
            }
            if (*it == '-')
            {
                it++;
                flag = -1;
            }
            if (*it > '9' || *it < '0')
            {
                return 0;
            }
            ret = ret * 10 + '*it' - '0';
            printf("%d  ", ret);
            it++;
        }
        if (flag == -1)
        {
            ret *= -1;
        }
        return ret;
    }
};
int main()
{
    Solution s1;
    string s("+2121872162918");
    s1.StrToInt(s);
}
